package org.ctsi.rsds.base.dao;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface NeedCache {
	enum type{
		GET,
		UPDATE,
		DELETE,
		DELETEALL,
		INSERT
	}
	
	type type();//定义对数据的操作类型，缓存框架会根据数据操作类型操作缓存
	String keyName();//定义如何取实体id，格式为：param.第几个参数.在参数中的哪个属性中的属性名，如果参数本身就是id，最后一个参数可以不写
	String entityName();//定义实体的名字，使用pojo类名
	String subKey();//定义二级key的格式；如果需要用属性值做key，需配置，可以是多个属性拼接完成，每个属性的格式与keyname格式一致,用”;“分割;否则不填，则用方法名做二级key
}
